#define _CRT_SECURE_NO_WARNINGS 1
//有了变量，需要给变量输⼊值就可以使⽤scanf函数
//scanf函数可以输入读入多个变量，连续处理多个占位符
//scanf()处理⽤⼾输⼊的原理是，⽤⼾的输⼊先放⼊缓存，等到按下回⻋键后，按照占位符对缓存进⾏解读。
// 解读⽤⼾输⼊时，会从上⼀次解读遗留的第⼀个字符开始，直到读完缓存，或者遇到第⼀个不符合条件的字符为⽌。

//#include<stdio.h>
//
//int main()
//{
//	int x = 0;
//	float y = 0;
//// ⽤⼾输⼊"    -13.45e12# 0"
//	scanf("%d", &x);//只读到 -13就截止，因为int为正数
//	scanf("%f", &y);//会读取.45e12，即0.45*e12
//	printf("%f\n", y);
//	return 0;
//}

//scanf函数也有返回值
//#include<stdio.h>

//int main()
//{
//	int a = 0;
//	int b = 0;
//	int c = 0;
//	int ret = scanf("%d%d%d", &a, &b, &c);
//	if (ret == 3)
//	{
//		printf("a=%d b=%d c=%d", a, b, c);
//	}
//	else
//	{
//		printf("ret=%d", ret);
//	}
//	return 0;
//}
//如果在成功读取任何数据之前，发⽣了读取错误或者遇到读取到⽂件结尾，则返回常量EOF(-1)



//赋值忽略符
//#include<stdio.h>

//int main()
//{
//	int year = 0;
//	int month = 0;
//	int day = 0;
//	scanf("%d%*c%d%*c%d", &year, &month, &day);//%*c就是在占位符的百分号后⾯，加⼊了赋值忽略符* ，表⽰这个占位符没有对应的变量，解读后不必返回。
//	printf("%d-%d-%d\n", year, month, day);
//	return 0;
//}


//if语句注意悬空else问题：，如果有多个的if和else，记住这样⼀条规则，else总是跟最接近的if匹配
//当常量和变量放在一起的时候，常量放左边，变量放右边
//关系操作符：  >⼤于运算符  <⼩于运算符  >=⼤于等于运算符   <=⼩于等于运算符   ==相等运算符  !=不相等运算符
//#include<stdio.h>
//
//int main()
//{
//	int a = 5;
//	int b = 4;
//	int c = (a == b);
//	printf("c = %d\n", c);
//	return 0;
//}

//条件操作符也叫三⽬操作符，其形式: exp1 ? exp2 : exp3(用来写较简单的变量)



// 逻辑操作符：&&,||,！
// 
// 
//! ：逻辑取反运算符（改变单个表达式的真假）。
//&& ：逻辑与运算符，就是并且的意思（两侧的表达式都为真，则为真，否则为假）。
//|| ：逻辑或运算符，就是或者的意思（两侧⾄少有⼀个表达式为真，则为真，否则为假）。



//判断闰年
//#include<stdio.h>
//
//int main()
//{
//  int year = 0;
//  scanf("%d\n", &year);
//  if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
//	   printf("闰年\n");
//  return 0;
//}





//短路的运用
//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	int a = 0;
//	int b = 2;
//	int c = 3;
//	int d = 4;
//	i = a++ && ++b && d++;//从左向右开始直到有假就不再执行，即为1234
//	printf("a = %d\nb = %d\nc = %d\nd = %d\n", a, b, c, d);
//	return 0;
//}